/** 请求列表参数 */
export interface IListParams {
  page_index: number
  page_size: number
}

export interface IEditUserParams extends IAddUserParams {
  /** 用户id */
  id?: number
  oldpassword?: string
}

/** 新增用户参数 */
export interface IAddUserParams {
  /** 用户账号 */
  user_number: string
  /** 密码 */
  user_password: number
  /** 用户名 */
  user_name: string
  /** 角色 */
  user_role?: number | string
  /** 分区id */
  user_area?: number | string
  /** 号码 */
  user_telphone?: string
  /** 邮箱 */
  user_email?: string
  /** 备注 */
  remarks?: string
}

/** 请求用户列表参数 */
export interface IUserListParams extends IListParams {
  keyword: string
  user_partition: number | string
  user_role: number | string
}

/** 请求角色列表参数 */
export interface IRoleListParams {
  page_index: number
  page_size: number
}

/** 新增边界角色参数 */
export interface IAddOrEditRoleParams {
  role_id?: number | string
  /** 角色名字  */
  role_name: string
  /** 角色备注  */
  role_remarks: string
  /** 权限id  */
  node_id: number[]
}

/** 角色列表数据 */
export interface IRoleListData {
  /** 角色id */
  id: number
  /** 当前用户是否有权限修改 该身份权限 */
  power: boolean
  /** 是否是默认角色 默认角色无法删除 */
  role_default: number
  /** 角色名字  */
  role_name: string
  /** 角色备注  */
  role_remarks: string
}

/** 病区列表数据 */
export interface IPartitionListData {
  /** 病区id */
  id: number
  /** 病区名称 */
  partition_name: string
  /** 创建时间 */
  partition_create_titme: number
  /** 病床号排序方式 1房内顺序 2房内属性  */
  partition_order: number
  /** 病区编码  */
  partition_code: string
  /** 规避编码  */
  partition_avoidnum: string
  /** 备注（简介） */
  remarks: string
  /** 病区下病房数量 */
  hospital_room_num: number
  /** 设备数量 */
  device_num: string
  /** 医护主机数量 */
  medical_host_num: string
}

/** 权限数据 */
export interface IRoleTreeData {
  /** 权限id */
  id: number
  /** 权限节点名称 */
  node_name: string
  /** 权限菜单名称 */
  node_title: string
  /** 权限状态  */
  node_status: number
  /** 父级id  */
  node_pid: number
  /** 层级  */
  node_level: number
  children: IRoleTreeData[]
  /** 是否禁用  */
  disabled?: boolean
}

/**
 * 用户模块
 */

/** 用户列表数据 */
export interface IUserListData {
  /** 用户id */
  id: number
  /** 用户账号 */
  user_number: string
  /** 用户名 */
  user_name: string
  /** 病区名  */
  area_name: number
  /** 状态 1启用 2禁用  */
  user_status: number
  /** 用户身份id  */
  user_role: number
  /** 电话  */
  user_telphone: IRoleTreeData[]
  /** 邮件  */
  user_email?: boolean
  /** 用户名  */
  role_name: string
  /** 当前用户是否有权限修改该账号 true:有 false:无  */
  power: boolean
  remarks: string
}

/** 删除用户 */
export interface IUserDelParams {
  /** 用户id */
  ids: number | string
}

/** 启用禁用用户 */
export interface IUserEnableParams extends IUserDelParams {
  /** 1启用 2禁用 */
  user_status: number
}

export type SystemResponseData<T> = ApiResponseData<T>

export type SystemListResponseData<T> = ApiListResponseData<T>
